#pragma once

#include "StrategyServerDef.h"
#include "SSMessageDef.h"
#include "threadtask.h"
#include "loki/SmartPtr.h"
#include "sharedqueue.h"

class CStrategyRunner : public LIB_NS::ThreadTask
{
public:
	typedef tstring TokenType;
	TokenType TokenID;
	tstring Account;
	tstring Holder;


	

	virtual bool EnqueueMsg(SSMessageBase msg)
	{
		return true;
	}

	CStrategyRunner(void);
	virtual ~CStrategyRunner(void);

	virtual int svc() = 0;
protected:

	blockabledqueue<SSMsgPtr> m_msgs;
	RunningState m_Stutus;
private:


};


typedef Loki::SmartPtr<CStrategyRunner> CStrategyRunnerPtr;